using System;
using System.ComponentModel.DataAnnotations;

namespace B.WMS.GoodsDto.Input
{
    /// <summary>
    /// 预测输入DTO
    /// </summary>
    public class PredictionInputDto
    {
        /// <summary>
        /// 预测开始时间
        /// </summary>
        [Required(ErrorMessage = "预测开始时间不能为空")]
        public DateTime StartDate { get; set; }

        /// <summary>
        /// 预测结束时间
        /// </summary>
        [Required(ErrorMessage = "预测结束时间不能为空")]
        public DateTime EndDate { get; set; }

        /// <summary>
        /// 商品编码（可选，如果为空则预测所有商品）
        /// </summary>
        public string? GoodsCoding { get; set; }

        /// <summary>
        /// 预测间隔天数（默认1天）
        /// </summary>
        public int IntervalDays { get; set; } = 1;

        /// <summary>
        /// 是否包含历史数据
        /// </summary>
        public bool IncludeHistoricalData { get; set; } = true;

        /// <summary>
        /// 历史数据查询天数（默认30天）
        /// </summary>
        public int HistoricalDataDays { get; set; } = 30;
    }
} 